Conversation
| PORT=8080 | ||
|
|
||
| # Frontend: Fishjam ID passed to FishjamProvider | ||
| VITE_FISHJAM_ID=your-fishjam-id |
There was a problem hiding this comment.
issue: Would be nice not to duplicate the id
There was a problem hiding this comment.
issue: foundry is an internal name, we should just refer to this as composition or realtime composition
There was a problem hiding this comment.
suggestion: Generating a client from the openapi instead would be preferred and more educational imo
There was a problem hiding this comment.
praise: I'm pretty sure we can just use useLivestreamViewer from @fishjam-cloud/react-client with token and url
| @@ -0,0 +1,78 @@ | |||
| # Conference to Stream | |||
|
|
|||
| A demo showcasing Fishjam's track forwarding capability combined with [Foundry](https://compositor.live) (Smelter) for real-time video composition. Participants join a video conference, their tracks are automatically forwarded to Foundry, composed into a single stream using a Tiles layout, and made available as a WHEP stream that can be previewed alongside the conference. | |||
There was a problem hiding this comment.
suggestion: As above, just refer to this as the compositing api, we don't want too many custom names
ce58d4b to
508b183
Compare
508b183 to
9786ca4
Compare
| @@ -0,0 +1,78 @@ | |||
| # Conference to Stream | |||
|
|
|||
| A demo showcasing Fishjam's track forwarding capability combined with [Foundry](https://compositor.live) (Smelter) for real-time video composition. Participants join a video conference, their tracks are automatically forwarded to Foundry, composed into a single stream using a Tiles layout, and made available as a WHEP stream that can be previewed alongside the conference. | |||
There was a problem hiding this comment.
issue:
| A demo showcasing Fishjam's track forwarding capability combined with [Foundry](https://compositor.live) (Smelter) for real-time video composition. Participants join a video conference, their tracks are automatically forwarded to Foundry, composed into a single stream using a Tiles layout, and made available as a WHEP stream that can be previewed alongside the conference. | |
| A demo showcasing Fishjam's track forwarding capability combined with [Foundry](https://www.smelter.dev) (Smelter) for real-time video composition. Participants join a video conference, their tracks are automatically forwarded to Smelter instance hosted by Fishjam, composed into a single stream using a Tiles layout, and made available as a WHEP stream that can be previewed alongside the conference. |
| ### Tech Stack | ||
|
|
||
| - [Fishjam](https://fishjam.io) for real-time videoconferencing and track forwarding. | ||
| - [Foundry / Smelter](https://compositor.live) for real-time video composition. |
| @@ -0,0 +1,11 @@ | |||
| module conference-to-stream | |||
|
|
|||
| go 1.24.5 | |||
There was a problem hiding this comment.
suggestion: probably should be the same as Dockerfile
|
|
||
| // Start WS notifier for this room | ||
| fishjamBaseURL := h.fishjamClient.BaseURL() | ||
| _, err = fishjam.NewNotifier(fishjamBaseURL, h.managementToken, fishjam.NotifierCallbacks{ |
| PeerWebsocketURL string `json:"peerWebsocketUrl"` | ||
| } | ||
|
|
||
| func (h *Handler) CreateRoom(w http.ResponseWriter, r *http.Request) { |
There was a problem hiding this comment.
nitpick: there is still very much a race condition here
| @@ -0,0 +1,15 @@ | |||
| FROM node:22-alpine AS builder | |||
| WORKDIR /app | |||
| COPY package.json ./ | |||
No description provided.